home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3 (Developer)…68k, x86, SPARC, PA-RISC] / NeXTSTEP 3.3 Dev Intel.iso / NextDeveloper / Headers / driverkit / IODeviceMaster.h < prev    next >
Text File  |  1993-08-06  |  2KB  |  92 lines

  1. /*     Copyright (c) 1993 NeXT Computer, Inc.  All rights reserved. 
  2.  *
  3.  * IODeviceMaster class description.
  4.  *
  5.  * HISTORY
  6.  * 08-Jan-93    Doug Mitchell at NeXT
  7.  *      Created. 
  8.  */
  9.  
  10. #ifndef    KERNEL
  11.  
  12. #import <objc/Object.h>
  13. #import <driverkit/driverTypes.h>
  14. #import <mach/port.h>
  15.  
  16. /*
  17.  * IODeviceMaster class. Used in user space only, to do Get/Set parameter
  18.  * type operations. 
  19.  *
  20.  * General return values for all methods in this class which return an 
  21.  * IOReturn:
  22.  *
  23.  * IO_R_NO_DEVICE - IOObjectNumber out of range of known device objects.
  24.  * IO_R_OFFLINE   - invalid IOObjectNumber, but not out of range. There
  25.  *            can be 'holes' in the IOObjectNumber space; IO_R_OFFLINE
  26.  *            indicates an IOObjectNumber assicated with such a 
  27.  *            non-existent device object.
  28.  *
  29.  * All other return codes are device-specific.
  30.  */
  31.  
  32. @interface IODeviceMaster : Object
  33. {
  34. @private
  35.     port_t    _deviceMasterPort;
  36.     int    _IODeviceMaster_reserved[4];
  37. }
  38.  
  39. /*
  40.  * Obtain an instance of IODeviceMaster.
  41.  */
  42. + new;
  43.  
  44. /*
  45.  * Free an instance of IODeviceMaster.
  46.  */
  47. - free;
  48.  
  49. /*
  50.  * Get device type and device name for specified IOObjectNumber.
  51.  */
  52. - (IOReturn)lookUpByObjectNumber    : (IOObjectNumber)objectNumber
  53.                  deviceKind : (IOString *)deviceKind
  54.                  deviceName : (IOString *)deviceName;
  55.                    
  56.  
  57. /*
  58.  * Get IOObjectNumber and device type for specified deviceName.
  59.  */
  60. - (IOReturn)lookUpByDeviceName        : (IOString)deviceName
  61.                objectNumber : (IOObjectNumber *)objectNumber
  62.                  deviceKind : (IOString *)deviceKind;
  63.                  
  64. /*
  65.  * Get/set parameter methods used at user level to communicate with
  66.  * kernel-level drivers.
  67.  */
  68. - (IOReturn)getIntValues        : (unsigned *)parameterArray
  69.                forParameter : (IOParameterName)parameterName
  70.                objectNumber : (IOObjectNumber)objectNumber
  71.                       count : (unsigned *)count;    // in/out
  72.  
  73. - (IOReturn)getCharValues        : (unsigned char *)parameterArray
  74.                forParameter : (IOParameterName)parameterName
  75.                objectNumber : (IOObjectNumber)objectNumber
  76.                       count : (unsigned *)count;    // in/out
  77.     
  78. - (IOReturn)setIntValues        : (unsigned *)parameterArray
  79.                forParameter : (IOParameterName)parameterName
  80.                objectNumber : (IOObjectNumber)objectNumber
  81.                       count : (unsigned)count;
  82.  
  83. - (IOReturn)setCharValues        : (unsigned char *)parameterArray
  84.                forParameter : (IOParameterName)parameterName
  85.                objectNumber : (IOObjectNumber)objectNumber
  86.                       count : (unsigned)count;
  87.  
  88. @end    /* IODeviceMaster */
  89.  
  90. #endif    KERNEL
  91.  
  92.